+Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkaccelgroup.c:
+ * gtk/gtkbindings.c:
+ * gtk/gtkcontainer.c:
+ * gtk/gtkitemfactory.c:
+ * gtk/gtkobject.c:
+ * gtk/gtksignal.c:
+ * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
+ g_quark_from_static_string calls to save memory.
+
+ * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
+ function _after_ the new data has been setup.
+ minor changes to object data functions to feature the GQuark type.
+
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
+Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkaccelgroup.c:
+ * gtk/gtkbindings.c:
+ * gtk/gtkcontainer.c:
+ * gtk/gtkitemfactory.c:
+ * gtk/gtkobject.c:
+ * gtk/gtksignal.c:
+ * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
+ g_quark_from_static_string calls to save memory.
+
+ * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
+ function _after_ the new data has been setup.
+ minor changes to object data functions to feature the GQuark type.
+
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
+Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkaccelgroup.c:
+ * gtk/gtkbindings.c:
+ * gtk/gtkcontainer.c:
+ * gtk/gtkitemfactory.c:
+ * gtk/gtkobject.c:
+ * gtk/gtksignal.c:
+ * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
+ g_quark_from_static_string calls to save memory.
+
+ * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
+ function _after_ the new data has been setup.
+ minor changes to object data functions to feature the GQuark type.
+
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
+Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkaccelgroup.c:
+ * gtk/gtkbindings.c:
+ * gtk/gtkcontainer.c:
+ * gtk/gtkitemfactory.c:
+ * gtk/gtkobject.c:
+ * gtk/gtksignal.c:
+ * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
+ g_quark_from_static_string calls to save memory.
+
+ * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
+ function _after_ the new data has been setup.
+ minor changes to object data functions to feature the GQuark type.
+
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
+Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkaccelgroup.c:
+ * gtk/gtkbindings.c:
+ * gtk/gtkcontainer.c:
+ * gtk/gtkitemfactory.c:
+ * gtk/gtkobject.c:
+ * gtk/gtksignal.c:
+ * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
+ g_quark_from_static_string calls to save memory.
+
+ * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
+ function _after_ the new data has been setup.
+ minor changes to object data functions to feature the GQuark type.
+
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
+Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkaccelgroup.c:
+ * gtk/gtkbindings.c:
+ * gtk/gtkcontainer.c:
+ * gtk/gtkitemfactory.c:
+ * gtk/gtkobject.c:
+ * gtk/gtksignal.c:
+ * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
+ g_quark_from_static_string calls to save memory.
+
+ * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
+ function _after_ the new data has been setup.
+ minor changes to object data functions to feature the GQuark type.
+
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
+Fri Jun 19 03:29:04 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkaccelgroup.c:
+ * gtk/gtkbindings.c:
+ * gtk/gtkcontainer.c:
+ * gtk/gtkitemfactory.c:
+ * gtk/gtkobject.c:
+ * gtk/gtksignal.c:
+ * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
+ g_quark_from_static_string calls to save memory.
+
+ * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
+ function _after_ the new data has been setup.
+ minor changes to object data functions to feature the GQuark type.
+
Thu Jun 18 21:13:54 1998 Owen Taylor <otaylor@gtk.org>
* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
if (!accel_groups_key_id)
{
- accel_groups_key_id = gtk_object_data_force_id (accel_groups_key);
- accel_entries_key_id = gtk_object_data_force_id (accel_entries_key);
+ accel_groups_key_id = g_quark_from_static_string (accel_groups_key);
+ accel_entries_key_id = g_quark_from_static_string (accel_entries_key);
accel_entry_hash_table = g_hash_table_new (gtk_accel_entries_hash,
gtk_accel_entries_equal);
static GHashTable *binding_entry_hash_table = NULL;
static GSList *binding_set_list = NULL;
static const gchar *key_class_binding_set = "gtk-class-binding-set";
-static guint key_id_class_binding_set = 0;
+static GQuark key_id_class_binding_set = 0;
/* --- functions --- */
g_return_val_if_fail (GTK_IS_OBJECT_CLASS (class), NULL);
if (!key_id_class_binding_set)
- key_id_class_binding_set = g_dataset_force_id (key_class_binding_set);
+ key_id_class_binding_set = g_quark_from_static_string (key_class_binding_set);
binding_set = g_dataset_id_get_data (class, key_id_class_binding_set);
parent_class = gtk_type_class (gtk_widget_get_type ());
- vadjustment_key_id = gtk_object_data_force_id (vadjustment_key);
- hadjustment_key_id = gtk_object_data_force_id (hadjustment_key);
+ vadjustment_key_id = g_quark_from_static_string (vadjustment_key);
+ hadjustment_key_id = g_quark_from_static_string (hadjustment_key);
gtk_object_add_arg_type ("GtkContainer::border_width", GTK_TYPE_ULONG, GTK_ARG_READWRITE, ARG_BORDER_WIDTH);
gtk_object_add_arg_type ("GtkContainer::child", GTK_TYPE_WIDGET, GTK_ARG_WRITABLE, ARG_CHILD);
static GMemChunk *ifactory_item_chunks = NULL;
static GMemChunk *ifactory_cb_data_chunks = NULL;
static const gchar *key_popup_data = "GtkItemFactory-popup-data";
-static guint key_id_popup_data = 0;
+static GQuark quark_popup_data = 0;
static const gchar *key_if_menu_pos = "GtkItemFactory-menu-position";
-static guint key_id_if_menu_pos = 0;
+static GQuark quark_if_menu_pos = 0;
static const gchar *key_item_factory = "GtkItemFactory";
-static guint key_id_item_factory = 0;
+static GQuark quark_item_factory = 0;
static const gchar *key_item_factory_path = "GtkItemFactory-path";
-static guint key_id_item_factory_path = 0;
+static GQuark quark_item_factory_path = 0;
static const gchar *key_type_item = "<Item>";
-static guint key_id_type_item = 0;
+static GQuark quark_type_item = 0;
static const gchar *key_type_title = "<Title>";
-static guint key_id_type_title = 0;
+static GQuark quark_type_title = 0;
static const gchar *key_type_radio_item = "<RadioItem>";
-static guint key_id_type_radio_item = 0;
+static GQuark quark_type_radio_item = 0;
static const gchar *key_type_check_item = "<CheckItem>";
-static guint key_id_type_check_item = 0;
+static GQuark quark_type_check_item = 0;
static const gchar *key_type_toggle_item = "<ToggleItem>";
-static guint key_id_type_toggle_item = 0;
+static GQuark quark_type_toggle_item = 0;
static const gchar *key_type_separator_item = "<Separator>";
-static guint key_id_type_separator_item = 0;
+static GQuark quark_type_separator_item = 0;
static const gchar *key_type_branch = "<Branch>";
-static guint key_id_type_branch = 0;
+static GQuark quark_type_branch = 0;
static const gchar *key_type_last_branch = "<LastBranch>";
-static guint key_id_type_last_branch = 0;
+static GQuark quark_type_last_branch = 0;
static GScannerConfig ifactory_scanner_config =
{
(
sizeof (GtkIFCBData) * ITEM_BLOCK_SIZE,
G_ALLOC_AND_FREE);
- key_id_popup_data = gtk_object_data_force_id (key_popup_data);
- key_id_if_menu_pos = gtk_object_data_force_id (key_if_menu_pos);
- key_id_item_factory = gtk_object_data_force_id (key_item_factory);
- key_id_item_factory_path = gtk_object_data_force_id (key_item_factory_path);
- key_id_type_item = gtk_object_data_force_id (key_type_item);
- key_id_type_title = gtk_object_data_force_id (key_type_title);
- key_id_type_radio_item = gtk_object_data_force_id (key_type_radio_item);
- key_id_type_check_item = gtk_object_data_force_id (key_type_check_item);
- key_id_type_toggle_item = gtk_object_data_force_id (key_type_toggle_item);
- key_id_type_separator_item = gtk_object_data_force_id (key_type_separator_item);
- key_id_type_branch = gtk_object_data_force_id (key_type_branch);
- key_id_type_last_branch = gtk_object_data_force_id (key_type_last_branch);
+ quark_popup_data = g_quark_from_static_string (key_popup_data);
+ quark_if_menu_pos = g_quark_from_static_string (key_if_menu_pos);
+ quark_item_factory = g_quark_from_static_string (key_item_factory);
+ quark_item_factory_path = g_quark_from_static_string (key_item_factory_path);
+ quark_type_item = g_quark_from_static_string (key_type_item);
+ quark_type_title = g_quark_from_static_string (key_type_title);
+ quark_type_radio_item = g_quark_from_static_string (key_type_radio_item);
+ quark_type_check_item = g_quark_from_static_string (key_type_check_item);
+ quark_type_toggle_item = g_quark_from_static_string (key_type_toggle_item);
+ quark_type_separator_item = g_quark_from_static_string (key_type_separator_item);
+ quark_type_branch = g_quark_from_static_string (key_type_branch);
+ quark_type_last_branch = g_quark_from_static_string (key_type_last_branch);
}
static void
GtkItemFactoryItem *item)
{
item->widgets = g_slist_remove (item->widgets, widget);
- gtk_object_remove_data_by_id (GTK_OBJECT (widget), key_id_item_factory);
- gtk_object_remove_data_by_id (GTK_OBJECT (widget), key_id_item_factory_path);
+ gtk_object_remove_data_by_id (GTK_OBJECT (widget), quark_item_factory);
+ gtk_object_remove_data_by_id (GTK_OBJECT (widget), quark_item_factory_path);
}
static void
/* set back pointers for the widget
*/
- gtk_object_set_data_by_id (GTK_OBJECT (widget), key_id_item_factory, ifactory);
- gtk_object_set_data_by_id (GTK_OBJECT (widget), key_id_item_factory_path, item->path);
+ gtk_object_set_data_by_id (GTK_OBJECT (widget), quark_item_factory, ifactory);
+ gtk_object_set_data_by_id (GTK_OBJECT (widget), quark_item_factory_path, item->path);
gtk_widget_set_name (widget, item->path);
/* set accelerator group on menu widgets
g_return_val_if_fail (widget != NULL, NULL);
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- return gtk_object_get_data_by_id (GTK_OBJECT (widget), key_id_item_factory);
+ return gtk_object_get_data_by_id (GTK_OBJECT (widget), quark_item_factory);
}
gchar*
g_return_val_if_fail (widget != NULL, NULL);
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- return gtk_object_get_data_by_id (GTK_OBJECT (widget), key_id_item_factory_path);
+ return gtk_object_get_data_by_id (GTK_OBJECT (widget), quark_item_factory_path);
}
static void
entry->item_type[0] == 0)
{
item_type_path = (gpointer) key_type_item;
- type_id = key_id_type_item;
+ type_id = quark_type_item;
}
else
{
}
radio_group = NULL;
- if (type_id == key_id_type_item)
+ if (type_id == quark_type_item)
type = GTK_TYPE_MENU_ITEM;
- else if (type_id == key_id_type_title)
+ else if (type_id == quark_type_title)
type = GTK_TYPE_MENU_ITEM;
- else if (type_id == key_id_type_radio_item)
+ else if (type_id == quark_type_radio_item)
type = GTK_TYPE_RADIO_MENU_ITEM;
- else if (type_id == key_id_type_check_item)
+ else if (type_id == quark_type_check_item)
type = GTK_TYPE_CHECK_MENU_ITEM;
- else if (type_id == key_id_type_toggle_item)
+ else if (type_id == quark_type_toggle_item)
type = GTK_TYPE_CHECK_MENU_ITEM;
- else if (type_id == key_id_type_separator_item)
+ else if (type_id == quark_type_separator_item)
type = GTK_TYPE_MENU_ITEM;
- else if (type_id == key_id_type_branch)
+ else if (type_id == quark_type_branch)
type = GTK_TYPE_MENU_ITEM;
- else if (type_id == key_id_type_last_branch)
+ else if (type_id == quark_type_last_branch)
type = GTK_TYPE_MENU_ITEM;
else
{
widget = gtk_widget_new (type,
"GtkWidget::visible", TRUE,
- "GtkWidget::sensitive", (type_id != key_id_type_separator_item &&
- type_id != key_id_type_title),
+ "GtkWidget::sensitive", (type_id != quark_type_separator_item &&
+ type_id != quark_type_title),
"GtkWidget::parent", parent,
NULL);
if (GTK_IS_CHECK_MENU_ITEM (widget))
gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (widget), TRUE);
- if (type_id != key_id_type_separator_item && *p)
+ if (type_id != quark_type_separator_item && *p)
{
GtkWidget *label;
"GtkMisc::xalign", 0.0,
NULL);
}
- if (type_id == key_id_type_branch ||
- type_id == key_id_type_last_branch)
+ if (type_id == quark_type_branch ||
+ type_id == quark_type_last_branch)
{
- if (type_id == key_id_type_last_branch)
+ if (type_id == quark_type_last_branch)
gtk_menu_item_right_justify (GTK_MENU_ITEM (widget));
parent = widget;
ifactory = gtk_item_factory_from_widget (widget);
if (ifactory)
- return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), key_id_popup_data);
+ return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), quark_popup_data);
return NULL;
}
g_return_val_if_fail (ifactory != NULL, NULL);
g_return_val_if_fail (GTK_IS_ITEM_FACTORY (ifactory), NULL);
- return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), key_id_popup_data);
+ return gtk_object_get_data_by_id (GTK_OBJECT (ifactory), quark_popup_data);
}
static void
gtk_signal_disconnect_by_func (object,
GTK_SIGNAL_FUNC (ifactory_delete_popup_data),
ifactory);
- gtk_object_remove_data_by_id (GTK_OBJECT (ifactory), key_id_popup_data);
+ gtk_object_remove_data_by_id (GTK_OBJECT (ifactory), quark_popup_data);
}
void
{
MenuPos *mpos;
- mpos = gtk_object_get_data_by_id (GTK_OBJECT (ifactory->widget), key_id_if_menu_pos);
+ mpos = gtk_object_get_data_by_id (GTK_OBJECT (ifactory->widget), quark_if_menu_pos);
if (!mpos)
{
mpos = g_new0 (MenuPos, 1);
gtk_object_set_data_by_id_full (GTK_OBJECT (ifactory->widget),
- key_id_if_menu_pos,
+ quark_if_menu_pos,
mpos,
g_free);
}
if (popup_data != NULL)
{
gtk_object_set_data_by_id_full (GTK_OBJECT (ifactory),
- key_id_popup_data,
+ quark_popup_data,
popup_data,
destroy);
gtk_signal_connect (GTK_OBJECT (ifactory->widget),
g_return_if_fail (GTK_IS_OBJECT (object));
if (!weakrefs_key_id)
- weakrefs_key_id = gtk_object_data_force_id (weakrefs_key);
+ weakrefs_key_id = g_quark_from_static_string (weakrefs_key);
weak = g_new (GtkWeakRef, 1);
weak->next = gtk_object_get_data_by_id (object, weakrefs_key_id);
void
gtk_object_set_data_by_id (GtkObject *object,
- guint data_id,
+ GQuark data_id,
gpointer data)
{
g_return_if_fail (data_id > 0);
void
gtk_object_set_data_by_id_full (GtkObject *object,
- guint data_id,
+ GQuark data_id,
gpointer data,
GtkDestroyNotify destroy)
{
object->object_data = odata->next;
GTK_OBJECT_DATA_DESTROY (odata);
- break;
+ return;
}
prev = odata;
}
else
{
- GtkObjectData *prev;
-
- prev = NULL;
-
while (odata)
{
if (odata->id == data_id)
{
- /* we need to be unlinked while invoking the destroy function
- */
- if (odata->destroy)
- {
- if (prev)
- prev->next = odata->next;
- else
- object->object_data = odata->next;
-
- odata->destroy (odata->data);
-
- odata->next = object->object_data;
- object->object_data = odata;
- }
-
- odata->data = data;
+ register GtkDestroyNotify dfunc;
+ register gpointer ddata;
+
+ dfunc = odata->destroy;
+ ddata = odata->data;
odata->destroy = destroy;
+ odata->data = data;
+
+ /* we need to have updated all structures prior to
+ * invokation of the destroy function
+ */
+ if (dfunc)
+ dfunc (ddata);
+
return;
}
- prev = odata;
- odata = prev->next;
+ odata = odata->next;
}
if (gtk_object_data_free_list)
gpointer
gtk_object_get_data_by_id (GtkObject *object,
- guint data_id)
+ GQuark data_id)
{
GtkObjectData *odata;
void
gtk_object_remove_data_by_id (GtkObject *object,
- guint data_id)
+ GQuark data_id)
{
if (data_id)
gtk_object_set_data_by_id_full (object, data_id, NULL, NULL);
gpointer data)
{
if (!user_data_key_id)
- user_data_key_id = gtk_object_data_force_id (user_data_key);
+ user_data_key_id = g_quark_from_static_string (user_data_key);
gtk_object_set_data_by_id_full (object, user_data_key_id, data, NULL);
}
* These functions are meant for *internal* use only.
*/
void gtk_object_set_data_by_id (GtkObject *object,
- guint data_id,
+ GQuark data_id,
gpointer data);
void gtk_object_set_data_by_id_full (GtkObject *object,
- guint data_id,
+ GQuark data_id,
gpointer data,
GtkDestroyNotify destroy);
gpointer gtk_object_get_data_by_id (GtkObject *object,
- guint data_id);
+ GQuark data_id);
void gtk_object_remove_data_by_id (GtkObject *object,
- guint data_id);
-#define gtk_object_data_try_key g_dataset_try_key
-#define gtk_object_data_force_id g_dataset_force_id
+ GQuark data_id);
+#define gtk_object_data_try_key g_quark_try_string
+#define gtk_object_data_force_id g_quark_from_string
/* Set the "user_data" object data field of "object". It should
* be noted that this is no different than calling 'gtk_object_set_data'
struct _GtkSignalHash
{
GtkType object_type;
- guint name_key_id;
+ GQuark quark;
guint signal_id;
};
static GtkSignalDestroy global_destroy_notify = NULL;
static guint gtk_handler_id = 1;
-static guint handler_key_id = 0;
+static guint handler_quark = 0;
static GHashTable *gtk_signal_hash_table = NULL;
static GtkSignal *gtk_signals = NULL;
static guint gtk_n_signals = 0;
void
gtk_signal_init (void)
{
- if (!handler_key_id)
+ if (!handler_quark)
{
GtkSignal *zero;
zero = gtk_signal_next_and_invalidate ();
g_assert (zero == NULL);
- handler_key_id = gtk_object_data_force_id ("gtk-signal-handlers");
+ handler_quark = g_quark_from_static_string ("gtk-signal-handlers");
gtk_signal_hash_mem_chunk =
g_mem_chunk_new ("GtkSignalHash mem chunk",
{
GtkSignal *signal;
GtkSignalHash *hash;
- guint id;
+ GQuark quark;
guint i;
gchar *name;
if (nparams)
g_return_val_if_fail (params != NULL, 0);
- if (!handler_key_id)
+ if (!handler_quark)
gtk_signal_init ();
name = g_strdup (r_name);
g_strdelimit (name, NULL, '_');
- id = gtk_signal_lookup (name, object_type);
- if (id)
+ quark = gtk_signal_lookup (name, object_type);
+ if (quark)
{
g_warning ("gtk_signal_newv(): signal \"%s\" already exists in the `%s' class ancestry\n",
r_name,
{
g_warning ("gtk_signal_newv(): signal \"%s\" with return value `%s' excludes GTK_RUN_LAST",
name, gtk_type_name (return_val));
+ g_free (name);
return 0;
}
*/
hash = g_chunk_new (GtkSignalHash, gtk_signal_hash_mem_chunk);
hash->object_type = object_type;
- hash->name_key_id = gtk_object_data_force_id (signal->name);
+ hash->quark = g_quark_from_string (signal->name);
hash->signal_id = signal->signal_id;
g_hash_table_insert (gtk_signal_hash_table, hash, GUINT_TO_POINTER (hash->signal_id));
/* insert "signal-name" into hash table
*/
g_strdelimit (signal->name, NULL, '-');
- id = gtk_object_data_force_id (signal->name);
- if (id != hash->name_key_id)
+ quark = g_quark_from_static_string (signal->name);
+ if (quark != hash->quark)
{
hash = g_chunk_new (GtkSignalHash, gtk_signal_hash_mem_chunk);
hash->object_type = object_type;
- hash->name_key_id = id;
+ hash->quark = quark;
hash->signal_id = signal->signal_id;
g_hash_table_insert (gtk_signal_hash_table, hash, GUINT_TO_POINTER (hash->signal_id));
}
g_return_val_if_fail (name != NULL, 0);
g_return_val_if_fail (gtk_type_is_a (object_type, GTK_TYPE_OBJECT), 0);
- hash.name_key_id = gtk_object_data_try_key (name);
- if (hash.name_key_id)
+ hash.quark = g_quark_try_string (name);
+ if (hash.quark)
{
while (object_type)
{
g_return_if_fail (object != NULL);
g_return_if_fail (handler_id > 0);
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (func != NULL);
found_one = FALSE;
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (object != NULL);
found_one = FALSE;
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (object != NULL);
g_return_if_fail (handler_id > 0);
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (func != NULL);
found_one = FALSE;
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (object != NULL);
found_one = FALSE;
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (object != NULL);
g_return_if_fail (handler_id > 0);
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (func != NULL);
found_one = FALSE;
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
g_return_if_fail (object != NULL);
found_one = FALSE;
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
while (handler)
{
* handler_key data on each removal
*/
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
if (handler)
{
handler = handler->next;
gtk_signal_handler_unref (handler, object);
handler = next;
}
- handler = gtk_object_get_data_by_id (object, handler_key_id);
+ handler = gtk_object_get_data_by_id (object, handler_quark);
gtk_signal_handler_unref (handler, object);
}
}
{
register const GtkSignalHash *hash = h;
- return hash->object_type ^ hash->name_key_id;
+ return hash->object_type ^ hash->quark;
}
static gint
register const GtkSignalHash *hash1 = h1;
register const GtkSignalHash *hash2 = h2;
- return (hash1->name_key_id == hash2->name_key_id &&
+ return (hash1->quark == hash2->quark &&
hash1->object_type == hash2->object_type);
}
if (handler->prev)
handler->prev->next = handler->next;
else if (handler->next)
- gtk_object_set_data_by_id (object, handler_key_id, handler->next);
+ gtk_object_set_data_by_id (object, handler_quark, handler->next);
else
{
GTK_OBJECT_UNSET_FLAGS (object, GTK_CONNECTED);
- gtk_object_set_data_by_id (object, handler_key_id, NULL);
+ gtk_object_set_data_by_id (object, handler_quark, NULL);
}
if (handler->next)
handler->next->prev = handler->prev;
/* FIXME: remove */ g_assert (handler->next == NULL);
/* FIXME: remove */ g_assert (handler->prev == NULL);
- tmp = gtk_object_get_data_by_id (object, handler_key_id);
+ tmp = gtk_object_get_data_by_id (object, handler_quark);
if (!tmp)
{
GTK_OBJECT_SET_FLAGS (object, GTK_CONNECTED);
- gtk_object_set_data_by_id (object, handler_key_id, handler);
+ gtk_object_set_data_by_id (object, handler_quark, handler);
}
else
while (tmp)
handler->prev = tmp->prev;
}
else
- gtk_object_set_data_by_id (object, handler_key_id, handler);
+ gtk_object_set_data_by_id (object, handler_quark, handler);
tmp->prev = handler;
handler->next = tmp;
break;
{
GtkHandler *handlers;
- handlers = gtk_object_get_data_by_id (object, handler_key_id);
+ handlers = gtk_object_get_data_by_id (object, handler_quark);
while (handlers)
{
{
gtk_style_ref (widget->style);
if (!saved_default_style_key_id)
- saved_default_style_key_id = gtk_object_data_force_id (saved_default_style_key);
+ saved_default_style_key_id = g_quark_from_static_string (saved_default_style_key);
gtk_object_set_data_by_id (GTK_OBJECT (widget), saved_default_style_key_id, widget->style);
}
{
gtk_style_ref (widget->style);
if (!saved_default_style_key_id)
- saved_default_style_key_id = gtk_object_data_force_id (saved_default_style_key);
+ saved_default_style_key_id = g_quark_from_static_string (saved_default_style_key);
gtk_object_set_data_by_id (GTK_OBJECT (widget), saved_default_style_key_id, widget->style);
}
gtk_widget_set_style_internal (widget, new_style, initial_emission);
if (parent_window != old_parent_window)
{
if (!parent_window_key_id)
- parent_window_key_id = gtk_object_data_force_id (parent_window_key);
+ parent_window_key_id = g_quark_from_static_string (parent_window_key);
gtk_object_set_data_by_id (GTK_OBJECT (widget), parent_window_key_id,
parent_window);
if (old_parent_window)
if (!aux_info)
{
if (!aux_info_key_id)
- aux_info_key_id = gtk_object_data_force_id (aux_info_key);
+ aux_info_key_id = g_quark_from_static_string (aux_info_key);
aux_info = gtk_widget_aux_info_new ();
gtk_object_set_data_by_id (GTK_OBJECT (widget), aux_info_key_id, aux_info);
}
if (!aux_info)
{
if (!aux_info_key_id)
- aux_info_key_id = gtk_object_data_force_id (aux_info_key);
+ aux_info_key_id = g_quark_from_static_string (aux_info_key);
aux_info = gtk_widget_aux_info_new ();
gtk_object_set_data_by_id (GTK_OBJECT (widget), aux_info_key_id, aux_info);
}
*eventp = events;
if (!event_key_id)
- event_key_id = gtk_object_data_force_id (event_key);
+ event_key_id = g_quark_from_static_string (event_key);
gtk_object_set_data_by_id (GTK_OBJECT (widget), event_key_id, eventp);
}
else if (eventp)
*modep = mode;
if (!extension_event_key_id)
- extension_event_key_id = gtk_object_data_force_id (extension_event_key);
+ extension_event_key_id = g_quark_from_static_string (extension_event_key);
gtk_object_set_data_by_id (GTK_OBJECT (widget), extension_event_key_id, modep);
}